Recently, a new image processing procedure was devised for creating an illumination-invariant, intrinsic, image from an input colour image [1,2,3,4]. Illumination conditions cause problems for many computer vision algorithms. In particular, shadows in an image can cause segmentation, tracking, or recognition algorithms to fail. An illumination-invariant image is of great utility in a wide range of problems in both ComputerVision and Computer Graphics. However, to find the invariant image, calibration is needed and this limits the applicability of the method.
To date, the method in essence rests on a kind of calibration scheme for a particular colour camera. How one proceeds is by imaging a target composed of colour patches (or, possibly, just a rather colourful scene). Images are captured under differing lightings—the more illuminants the better. Then knowledge that all these images are registered images of the same scene, under differing lighting, is put to use by plotting the capture RGB values, for each of the pixels used, as the lighting changes. If pixels are first transformed from 3D RGB triples into a 2D chromaticity colour space {G/R,B/R}, and then logarithms are taken, the values across different lighting tend to fall on straight lines in a 2D scatter plot. In fact all such lines are parallel, for a given camera.
If change of illumination simply amounts to movement along such a line, then it is straightforward to devise a 1D illumination-invariant image by projecting the 2D chromaticity points into a direction perpendicular to all such lines. The result is hence a greyscale image that is independent of lighting. In a sense, therefore, it is an intrinsic image that portrays only the inherent reflectance properties in the scene. Since shadows are mostly due to removal of some of the lighting, such an image also has shadows removed. We can also use the greyscale, invariant, image as a guide that allows us to determine which colours in the original, RGB, colour image are intrinsic to the scene or are simply artifacts of the shadows due to lighting. Forming a gradient of the image's colour channels, we can guide a thresholding step via the difference between edges in the original and in the invariant image [3]. Forming a further derivative, and then integrating back, we can produce a result that is a 3-band colour image which contains all the original salient information in the image, except that the shadows are removed. Although this method is based on the greyscale invariant image developed in [1], which produces an invariant image which does have shading removed, it is of interest because its output is a colour image, including shading. In another approach [4], a 2D-colour chromaticity invariant image is recovered by projecting orthogonal to the lighting direction and then putting back an appropriate amount of lighting. Here we develop a similar chromaticity illumination-invariant image which is more well-behaved and thus gives better shadow removal.
For Computer Vision purposes, in fact an image that includes shading is not always required, and may confound certain algorithms—the unreal look of a chromaticity image without shading is inappropriate for human understanding but excellent for machine vision (see, e.g., [5] for an object tracking application, resistant to shadows).